/*
* 原生JS：
* 添加监听事件 与 直接使用 onclick 、 onkeydown一样的效果
* 可以控制事件是 冒泡事件、捕获事件
* 还可以移除已经添加的事件
* */
// function dianji() {  }
// document.body.onclick = dianji;
/*
* add 添加
* Event 事件
* Listener 监听者
* dom.addEventListener(事件的名字（都是去掉on），函数);
* */

/*
* remove 移除
* Event 事件
* Listener 监听者
* dom.removeEventListener(事件的名字（都是去掉on），函数);
* */
// function dianji() {
//     alert();
//     //移除 某个事件
//     document.body.removeEventListener("click",dianji);
// }
// document.body.addEventListener("click",dianji);

/*
* 摇一摇功能实现
* 1.可以自由控制 事件的监听
* 2.监听 手机陀螺仪 的状态 window.addEventListener("devicemotion", 函数);
* 3.计算摇一摇这个动作 所在陀螺仪所在状态的范围
* */

function addShake(callback) {
    function shake(event) {
        var x = event.acceleration.x;

        //区分 是否是摇一摇之后的状态
        var isShake = false;

        //数值可以控制摇一摇的敏感度
        if (x>30||x<-30){
            //只要进入这个判断 就是 手机要动过一次
            //更改 isShake的值 标示为 已经摇过
            isShake = true;
            callback();
        }
        //如果 已经摇一摇 过
        //设置隔几秒后 才可以继续摇
        if (isShake === true){
            //移除陀螺仪的监听事件 更新是否摇一摇变量的值
            isShake = false;
            //移除 监听陀螺仪的事件
            window.removeEventListener("devicemotion",shake);
            //    3秒后 才可以继续使用摇一摇
            setTimeout(function () {
                window.addEventListener("devicemotion",shake);
            },5000);
        }

    }
    window.addEventListener("devicemotion",shake);
}

var result = $(".result");
$(".title").dblclick(function () {
    var dis = result.css("display");
    result.css("display",dis==="block"?"none":"block");
});

addShake(function () {

    $.get("http://route.showapi.com/151-2?showapi_appid=54109&showapi_sign=cf732a8ea1254fe7b3818e2d2edcaf49",function (data) {
        var list = JSON.parse(data).showapi_res_body.pagebean.contentlist;
        var index = parseInt(Math.random()*list.length);
        //obj 随机出来的 题目
        var obj = list[index];
        $(".title").text(obj.title);
        result.text(obj.answer);
    });

});






/*
* hanshu 函数名
* a 形参 可以表示任何内容
* hanshu(1); 调用函数
* 1 实参 实际传入到函数中的内容 a就代表1
* hanshu(10); a 就代表10
*
* */
// function hanshu(a) {
//     console.log(a);
//     a();
// }
//
// // hanshu(1);
// // hanshu(10);
// hanshu(function () {
//     alert();
// });